1. Field
The present invention relates to a method for searching fixed codebook based upon global pulse replacement; and, more particularly, to a high-speed fixed codebook search method based upon the global pulse replacement in a speech encoding such as an algebraic code excited linear prediction (ACELP) encoding and a computer readable recording medium for recording a program that executes the method.
2. Description of the Related Art
There are various kinds of vocoders for compressing speech. A code excited linear predictive coding (CELP) vocoder is broadly used in mobile communication systems. The CELP vocoder includes a linear prediction filter and a unit for generating an excitation signal. It also requires a pitch filter to model a pitch of speech. Information related to the pitch filter is obtained from an adaptive codebook.
The excitation signal is obtained from a physical codebook or by finding a code vector in an algebraic codebook. Both methods mentioned above are called codebook search. In order to separate a concept of codebook from the adaptive code book, the codebook for obtaining the excitation signal is called a fixed codebook.
The ACELP is a speech encoding method suggested by Sherbrooke University, Canada. G.723.1 and G.729 are adopted as standard speech codecs and they are used for Internet telephones and voice communications in corporations.
Among conventional methods for searching the fixed codebook search, a full search method used in a 6.3 kbps G.723.1 speech encoder provides a good speech quality but it has high computational complexity, which leads to the development of a focused search method used in a 5.3 kbps G.729 or G.723.1 speech encoder.
The focused search method limits a searching range by setting a threshold value. By using correlation of entire pulse position combinations, a threshold value is compared with the sum of magnitudes of correlation vectors of entire pulse position combinations at tracks 0, 1 and 2. Then, pulse positions of track 3 are searched for the pulse position combinations which overflow the threshold value.
However, the computation amount is increased and complexity is not always the same in the focused search method because the entire combinations of the pulse positions at tracks 0, 1 and 2 are compared with the threshold value.
In order to solve the problem of the focused search method, a depth first tree search method is used in G.729A, AMR-NB and AMR-WB codecs. Pulse positions are successively searched at every two tracks in the depth first tree search method. The computation amount is reduced and the complexity is always the same because candidate pulse positions are chosen based on the correlation of one of the two tracks and the rest of the pulse positions are searched.
However, the computation amount for searching a pulse position in the depth first tree search method is still large compared to speech quality. In order to solve the problem of the depth first tree search method, an efficient codebook search method using a pulse replacement procedure is disclosed by H. C. Park, Y. C. Choi and D. Y. Lee, in a paper entitled “Efficient Codebook Search Method for ACELP Speech Codecs,” in pp. 17-19 of 2002 Institute of Electrical and Electronics Engineers (IEEE) Speech Coding Workshop Proceedings. The least significant pulse is replaced during the pulse replacement procedure. Therefore, the computation amount is decreased significantly by using the pulse replacement procedure. However, the speech quality is degraded because the pulse replacement procedure may be finished before an optimal pulse is searched. Although the pulse replacement procedure is repeated, the speech quality is not enhanced. Also, large computation amount is required because initial codebook vectors are searched in the order of tracks sequentially.